package com.wofish.goods.service;

import com.wofish.goods.domain.Goods;
import com.wofish.goods.domain.GoodsSpecIndex;
import com.wofish.goods.domain.Products;
import com.wofish.goods.dto.ProductsIndex;

import java.util.List;

/**
 * 商品规格关系 服务层
 * 
 * @author wofish
 * @date 2019-06-16
 */
public interface IGoodsSpecIndexService {


	/**
	 * 查找当前规格哪些规格值给选中
	 * @param goodsId
	 * @param typeId
	 * @param specId
	 * @return
	 */
	List<Long> querySpecValueIds(Long goodsId, Long typeId, Long specId);

	/**
     * 查询商品规格关系信息
     * 
     * @param typeId 商品规格关系ID
     * @return 商品规格关系信息
     */
	public GoodsSpecIndex selectGoodsSpecIndexById(Long typeId);
	
	/**
     * 查询商品规格关系列表
     * 
     * @param goodsSpecIndex 商品规格关系信息
     * @return 商品规格关系集合
     */
	public List<GoodsSpecIndex> selectGoodsSpecIndexList(GoodsSpecIndex goodsSpecIndex);
	
	/**
     * 新增商品规格关系
     * 
     * @param goodsSpecIndex 商品规格关系信息
     * @return 结果
     */
	public int insertGoodsSpecIndex(GoodsSpecIndex goodsSpecIndex);
	
	/**
     * 修改商品规格关系
     * 
     * @param goodsSpecIndex 商品规格关系信息
     * @return 结果
     */
	public int updateGoodsSpecIndex(GoodsSpecIndex goodsSpecIndex);
		
	/**
     * 删除商品规格关系信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteGoodsSpecIndexByIds(String ids);

	public int deleteGoodsSpecIndexByGoodsId(Long goodsId);

	public int insertBatch(List<GoodsSpecIndex> list);

	public List<GoodsSpecIndex> buildGoodsSpecIndexes(Long goodsId, Long typeId, List<ProductsIndex> productsIndexList,
	                                                  List<Products> productsList);

}
